<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>组件数据的依赖和注入</title>
</head>
<body>
<div id="app">
    <cpn></cpn>
</div>

<template id="cpn">
    <h1>{{ info }}</h1>
</template>

<script type="module">
    import {createApp, ref, defineComponent, inject, provide} from "../../../js/vue.esm-browser.js";

    let component = defineComponent(
        {
            template: "#cpn",
            setup() {
                // inject 注入内容，第一个参数为 父组件提供的变量，第二个参数为 默认值。
                let info = ref(inject("information", "Hello, World!"))
                return {
                    info
                }
            }
        }
    );

    let app = createApp(
        {
            setup() {
                // provide 提供内容，第一个参数为提供的变量名称， 第二个参数为提供变量的值
                provide("information", "Hello, Vue!")
                return {}
            }
        }
    );

    app.component("cpn", component)

    app.mount("#app")
</script>
</body>
</html>